#!/usr/bin/python
# encoding: utf-8

"""
ccconv - Correct Chinese Converion Tool.

The tool sources its database direclty from the official traditional =>
simplified conversion table, nothing more, nothing less, except that I've added
some characters which are both valid in traditional and simplified (eg. 后, 只)
and I've fixed a few encoding and 別字 problems, particularly the "almost
identical but differently encoded characters".

This script does not try to "guess" what character is supposed to be used for
simp2trad conversions, but instead lists out all the possible alternatives. It
does not guess, therefore cannot be "wrong", hence the name :)
---
Copyright (c) 2010 Sidney Fong

Note that the author(s) do not claim any copyrights over the conversion table,
which is adopted from the PRC Government's 1986 《简化字总表》.
---
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---
"""

# this one is for traditional to simplified
m = {}

# this one is for simplified to traditional (the structure is not a direct map)
mm = {}

def vork(m,k):
    if k in m: return m[k] # if character can be simplified, then return the simplified one
    return k # otherwise return it unchanged

def simpclusterfck(k):
    if not k in mm: return k # if character is not simplified, return it unchanged
    if len(mm[k]) == 1: return mm[k][0] # if character is simplified, and only one matching traditional char, then return it
    return "{" + ",".join( mm[k] ) + "}" # if character is simplified, and multiple matching, then we list them all.

def trad2simp(s):
    s = unicode(s)
    return "".join( map( lambda x: vork(m, x), s ) )

def simp2trad(s):
    s = unicode(s)
    return "".join( map( lambda x: simpclusterfck(x), s ) )

def parsedata():
    a = data.split('\n')
    for i in a:
        m[i[2]] = i[0]
        if i[0] in mm:
            mm[i[0]].append(i[2])
        else:
            mm[i[0]] = [i[2]]

# this data is adopted from the official 1986 《简化字总表》
# with necessary modifications/corrections
data = u"""碍=礙
肮=骯
肮=肮
袄=襖
坝=壩
板=闆
板=板
办=辦
帮=幫
宝=寶
报=報
币=幣
毙=斃
标=標
表=錶
表=表
別=彆
別=別
卜=蔔
卜=卜
补=補
才=纔
才=才
蚕=蠶
灿=燦
层=層
搀=攙
谗=讒
馋=饞
缠=纏
忏=懺
忏=忏
偿=償
厂=廠
彻=徹
尘=塵
衬=襯
称=稱
惩=懲
迟=遲
冲=衝
丑=醜
丑=丑
出=齣
出=出
础=礎
处=處
触=觸
辞=辭
聪=聰
丛=叢
担=擔
胆=膽
导=導
灯=燈
邓=鄧
敌=敵
籴=糴
递=遞
点=點
鲇=鮎
淀=澱
电=電
冬=鼕
冬=冬
斗=鬥
斗=斗
独=獨
吨=噸
夺=奪
堕=墮
儿=兒
矾=礬
范=範
范=范
飞=飛
坟=墳
奋=奮
粪=糞
凤=鳳
肤=膚
妇=婦
复=復
复=複
盖=蓋
干=乾
干=幹
干=干
赶=趕
个=個
巩=鞏
沟=溝
构=構
购=購
谷=榖
顾=顧
刮=颳
关=關
观=觀
柜=櫃
汉=漢
号=號
合=閤
合=合
轰=轟
后=後
后=后
胡=鬍
胡=胡
壶=壺
沪=滬
护=護
划=劃
怀=懷
怀=怀
坏=壞
坏=坏
欢=歡
环=環
还=還
回=迴
回=回
伙=夥
伙=伙
获=獲
获=穫
击=撃
鸡=鷄
积=積
极=極
际=際
继=繼
家=傢
家=家
价=價
艰=艱
歼=殲
茧=繭
拣=揀
硷=鹸
舰=艦
姜=薑
姜=姜
浆=漿
桨=槳
奖=奬
讲=講
酱=醤
胶=膠
阶=階
疖=癤
洁=潔
借=藉
借=借
仅=僅
惊=驚
竞=競
旧=舊
剧=劇
据=據
据=据
惧=懼
卷=捲
卷=卷
开=開
开=幵
克=剋
克=克
垦=墾
恳=懇
夸=誇
块=塊
亏=虧
困=睏
困=困
腊=臘
蜡=蠟
兰=蘭
拦=攔
栏=欄
烂=爛
累=纍
累=累
垒=壘
类=類
里=裏
里=里
礼=禮
隶=隸
隶=隶
帘=簾
联=聯
怜=憐
怜=怜
炼=煉
练=練
粮=糧
疗=療
辽=遼
了=瞭
了=了
猎=獵
临=臨
邻=鄰
岭=嶺
庐=廬
芦=蘆
炉=爐
陆=陸
驴=驢
乱=亂
么=麽
霉=黴
霉=霉
蒙=矇
蒙=濛
蒙=懞
蒙=蒙
梦=夢
面=麵
面=面
庙=廟
灭=滅
蔑=衊
亩=畝
恼=惱
脑=腦
拟=擬
酿=釀
疟=瘧
盘=盤
辟=闢
辟=辟
苹=蘋
凭=憑
扑=撲
扑=扑
仆=僕
仆=仆
朴=樸
朴=朴
启=啓
签=籤
千=韆
千=千
牵=牽
纤=縴
纤=纖
窍=竅
窃=竊
寝=寢
庆=慶
琼=瓊
秋=鞦
秋=秋
曲=麯
曲=曲
权=權
劝=勸
确=確
让=讓
扰=擾
热=熱
认=認
洒=灑
洒=洒
伞=傘
丧=喪
扫=掃
涩=澀
晒=曬
伤=傷
舍=捨
舍=舍
沈=瀋
沈=沈
声=聲
胜=勝
胜=胜
湿=濕
实=實
适=適
势=勢
兽=獸
书=書
术=術
树=樹
帅=帥
松=鬆
松=松
苏=蘇
苏=囌
虽=雖
随=隨
台=臺
台=檯
台=颱
台=台
态=態
坛=壇
坛=罎
叹=嘆
誊=謄
体=體
体=体
粜=糶
铁=鐵
听=聽
听=听
厅=廳
头=頭
图=圖
涂=塗
涂=涂
团=團
团=糰
椭=橢
洼=窪
洼=洼
袜=襪
网=網
卫=衛
稳=穩
务=務
雾=霧
牺=犧
习=習
系=係
系=繫
系=系
戏=戲
虾=蝦
吓=嚇
咸=鹹
显=顯
宪=憲
县=縣
响=響
向=嚮
向=向
协=協
胁=脅
亵=褻
衅=釁
兴=興
须=鬚
悬=懸
选=選
旋=鏇
旋=旋
压=壓
盐=鹽
阳=陽
养=養
痒=癢
样=様
钥=鑰
药=藥
爷=爺
叶=葉
医=醫
亿=億
忆=憶
应=應
痈=癰
拥=擁
佣=傭
佣=佣
踊=踴
踊=踊
忧=憂
优=優
邮=郵
余=餘
余=余
御=禦
御=御
吁=籲
吁=吁
郁=鬱
郁=郁
誉=譽
渊=淵
园=園
远=遠
愿=願
跃=躍
运=運
酝=醖
杂=雜
赃=臓
脏=贜
脏=髒
凿=鑿
枣=棗
灶=竈
灶=灶
斋=齋
毡=氈
战=戰
赵=趙
折=摺
折=折
这=這
征=徵
征=征
症=癥
症=症
证=證
只=隻
只=祗
只=衹
只=只
致=緻
致=致
制=製
制=制
钟=鐘
钟=鍾
肿=腫
种=種
众=衆
昼=晝
朱=硃
朱=朱
烛=燭
筑=築
庄=莊
桩=樁
妆=妝
装=裝
壮=壯
状=狀
准=凖
准=准
浊=濁
总=總
钻=鑽
爱=愛
罢=罷
备=備
贝=貝
笔=筆
毕=畢
边=邊
宾=賓
参=參
仓=倉
产=産
长=長
尝=嘗
车=車
齿=齒
虫=蟲
刍=芻
从=從
窜=竄
达=達
带=帶
单=單
当=當
当=噹
党=黨
东=東
动=動
断=斷
对=對
队=隊
尔=爾
发=發
发=髮
丰=豐
风=風
冈=岡
广=廣
归=歸
龟=龜
国=國
过=過
华=華
画=畫
汇=匯
汇=彙
会=會
几=幾
几=几
夹=夾
戋=戔
监=監
见=見
荐=薦
将=將
节=節
尽=盡
尽=儘
进=進
举=舉
壳=殼
来=來
乐=樂
离=離
历=歷
历=曆
丽=麗
两=兩
灵=靈
刘=劉
龙=龍
娄=婁
卢=盧
虏=虜
卤=鹵
卤=滷
录=錄
虑=慮
仑=侖
罗=羅
马=馬
买=買
卖=賣
麦=麥
门=門
黾=黽
难=難
鸟=鳥
聂=聶
宁=寧
农=農
齐=齊
岂=豈
气=氣
迁=遷
佥=僉
乔=喬
亲=親
穷=窮
区=區
啬=嗇
杀=殺
审=審
圣=聖
师=師
时=時
寿=夀
属=屬
双=雙
肃=肅
岁=嵗
孙=孫
条=條
万=萬
为=為
韦=韋
乌=烏
无=無
献=獻
乡=鄉
写=寫
寻=尋
亚=亞
严=嚴
厌=厭
尧=堯
业=業
页=頁
义=義
艺=兿
阴=陰
隐=隱
犹=猶
鱼=魚
与=與
云=雲
云=云
郑=鄭
执=執
质=質
专=專
呙=咼
嗳=噯
嫒=嬡
叆=靉
瑷=璦
暧=曖
摆=擺
摆=襬
罴=羆
=
惫=憊
贞=貞
则=則
负=負
贡=貢
呗=唄
员=員
财=財
狈=狽
责=責
厕=厠
贤=賢
账=賬
贩=販
贬=貶
败=敗
贮=貯
贪=貪
贫=貧
侦=偵
侧=側
货=貨
贯=貫
测=測
浈=湞
恻=惻
贰=貳
贲=賁
贳=貰
费=費
郧=鄖
勋=勛
帧=幀
贴=貼
贶=貺
贻=貽
贱=賤
贵=貴
钡=鋇
贷=貸
贸=貿
贺=賀
陨=隕
涢=溳
资=資
祯=禎
贾=賈
损=損
贽=贄
埙=塤
桢=楨
唝=嗊
唢=嗩
赅=賅
圆=圓
贼=賊
贿=賄
赆=贐
赂=賂
债=債
赁=賃
渍=漬
惯=慣
琐=瑣
赉=賚
匮=匱
掼=摜
殒=殞
勚=勩
赈=賑
婴=嬰
啧=嘖
赊=賒
帻=幘
偾=僨
铡=鍘
绩=績
溃=潰
溅=濺
赓=賡
愦=憒
愤=憤
蒉=蕢
赍=賫
蒇=蕆
=
赔=賠
赕=賧
遗=遺
赋=賦
喷=噴
赌=賭
赎=贖
赏=賞
赐=賜
赒=賙
锁=鎖
馈=饋
赖=賴
赪=赬
碛=磧
赗=賵
腻=膩
赛=賽
=
赘=贅
撄=攖
槚=檟
嘤=嚶
赚=賺
赙=賻
罂=罌
镄=鐨
箦=簀
鲗=鰂
缨=纓
璎=瓔
聩=聵
樱=櫻
赜=賾
篑=簣
濑=瀨
瘿=癭
懒=懶
赝=贋
豮=豶
赠=贈
鹦=鸚
獭=獺
赞=贊
赢=贏
赡=贍
癞=癩
攒=攢
籁=籟
缵=纘
瓒=瓚
臜=臢
赣=贛
趱=趲
躜=躦
戆=戇
滗=潷
荜=蓽
哔=嗶
筚=篳
跸=蹕
笾=籩
傧=儐
滨=濱
摈=擯
嫔=嬪
缤=繽
殡=殯
槟=檳
膑=臏
镔=鑌
髌=髕
鬓=鬢
渗=滲
惨=慘
掺=摻
骖=驂
毵=毿
瘆=瘮
碜=磣
=穇
糁=糝
伧=傖
创=創
沧=滄
怆=愴
苍=蒼
抢=搶
呛=嗆
炝=熗
玱=瑲
枪=槍
戗=戧
疮=瘡
鸧=鶬
舱=艙
跄=蹌
浐=滻
萨=薩
铲=鏟
伥=倀
怅=悵
帐=帳
张=張
枨=棖
胀=脹
涨=漲
鲿=鱨
轧=軋
军=軍
轨=軌
厍=厙
阵=陣
库=庫
连=連
轩=軒
诨=諢
郓=鄆
轫=軔
轭=軛
匦=匭
转=轉
轮=輪
斩=斬
软=軟
浑=渾
恽=惲
砗=硨
轶=軼
轲=軻
轱=軲
轷=軤
轻=輕
轳=轤
轴=軸
挥=揮
荤=葷
轹=轢
轸=軫
轺=軺
涟=漣
珲=琿
载=載
莲=蓮
较=較
轼=軾
轾=輊
辂=輅
晕=暈
渐=漸
惭=慚
皲=皸
琏=璉
辅=輔
辄=輒
辆=輛
堑=塹
啭=囀
崭=嶄
裤=褲
裢=褳
辇=輦
辋=輞
辍=輟
辊=輥
椠=槧
辎=輜
暂=暫
辉=輝
辈=輩
链=鏈
翚=翬
辏=輳
辐=輻
辑=輯
输=輸
毂=轂
辔=轡
辖=轄
辕=轅
辗=輾
舆=輿
辘=轆
撵=攆
鲢=鰱
辙=轍
錾=鏨
辚=轔
龀=齔
啮=嚙
龆=齠
龅=齙
龃=齟
龄=齡
龇=齜
龈=齦
龉=齬
龊=齪
龌=齷
龋=齲
蛊=蠱
诌=謅
=
邹=鄒
=
驺=騶
绉=縐
皱=皺
趋=趨
雏=雛
苁=蓯
纵=縱
枞=樅
怂=慫
耸=聳
撺=攛
镩=鑹
蹿=躥
=澾
闼=闥
挞=撻
哒=噠
鞑=韃
滞=滯
郸=鄲
惮=憚
阐=闡
掸=撣
弹=彈
婵=嬋
禅=禪
殚=殫
瘅=癉
蝉=蟬
箪=簞
蕲=蘄
冁=囅
挡=擋
档=檔
裆=襠
铛=鐺
谠=讜
傥=儻
镋=钂
冻=凍
陈=陳
岽=崬
栋=棟
胨=腖
鸫=鶇
恸=慟
簖=籪
怼=懟
坠=墜
迩=邇
弥=彌
弥=瀰
祢=禰
玺=壐
猕=獼
泼=潑
废=廢
拨=撥
=鏺
沣=灃
艳=艶
滟=灧
讽=諷
沨=渢
岚=嵐
枫=楓
疯=瘋
飒=颯
砜=碸
飓=颶
飔=颸
飕=颼
飗=飀
飘=飄
飙=飆
刚=剛
=掆
岗=崗
纲=綱
=棡
钢=鋼
邝=鄺
圹=壙
扩=擴
犷=獷
纩=纊
旷=曠
矿=礦
岿=巋
阄=鬮
掴=摑
帼=幗
腘=膕
蝈=蟈
挝=撾
哗=嘩
骅=驊
烨=燁
桦=樺
晔=曄
铧=鏵
婳=嫿
=擓
刽=劊
郐=鄶
侩=儈
浍=澮
荟=薈
哙=噲
狯=獪
绘=繪
烩=燴
桧=檜
脍=膾
鲙=鱠
讥=譏
叽=嘰
饥=饑
机=機
玑=璣
矶=磯
虮=蟣
郏=郟
侠=俠
陕=陝
浃=浹
挟=挾
荚=莢
峡=峽
狭=狹
惬=愜
硖=硤
铗=鋏
颊=頰
蛱=蛺
瘗=瘞
箧=篋
刬=剗
浅=淺
饯=餞
线=綫
残=殘
栈=棧
盏=盞
钱=錢
笺=箋
践=踐
滥=濫
蓝=藍
尴=尷
槛=檻
褴=襤
篮=籃
苋=莧
岘=峴
觃=覎
视=視
规=規
现=現
枧=梘
觅=覓
觉=覺
砚=硯
觇=覘
览=覽
宽=寬
蚬=蜆
觊=覬
笕=筧
觋=覡
觌=覿
靓=靚
搅=攪
揽=攬
缆=纜
窥=窺
榄=欖
觎=覦
觏=覯
觐=覲
觑=覷
髋=髖
鞯=韉
蒋=蔣
锵=鏘
栉=櫛
浕=濜
荩=藎
烬=燼
琎=璡
榉=櫸
悫=慤
涞=淶
莱=萊
徕=徠
睐=睞
铼=錸
泺=濼
烁=爍
栎=櫟
砾=礫
铄=鑠
漓=灕
篱=籬
沥=瀝
坜=壢
苈=藶
呖=嚦
枥=櫪
疬=癧
雳=靂
俪=儷
郦=酈
逦=邐
骊=驪
鹂=鸝
酾=釃
鲡=鱺
俩=倆
唡=啢
满=滿
瞒=瞞
颟=顢
螨=蟎
魉=魎
懑=懣
蹒=蹣
棂=欞
浏=瀏
陇=隴
泷=瀧
宠=寵
庞=龐
垄=壟
拢=攏
茏=蘢
咙=嚨
珑=瓏
栊=櫳
=龑
昽=曨
胧=朧
砻=礱
袭=襲
聋=聾
龚=龔
龛=龕
笼=籠
偻=僂
溇=漊
蒌=蔞
搂=摟
嵝=嶁
喽=嘍
缕=縷
屡=屢
数=數
楼=樓
瘘=瘻
褛=褸
窭=窶
=瞜
镂=鏤
屦=屨
蝼=螻
篓=簍
耧=耬
薮=藪
擞=擻
髅=髏
泸=濾
垆=壚
栌=櫨
胪=臚
鸬=鸕
颅=顱
舻=艫
鲈=鱸
掳=擄
鹾=鹺
箓=籙
摅=攄
论=論
伦=倫
沦=淪
抡=掄
囵=圇
纶=綸
瘪=癟
萝=蘿
啰=囉
逻=邏
猡=玀
椤=欏
箩=籮
冯=馮
驭=馭
闯=闖
吗=嗎
犸=獁
驮=馱
驰=馳
驯=馴
妈=媽
玛=瑪
驱=驅
驳=駁
码=碼
驼=駝
驻=駐
驵=駔
驾=駕
驿=驛
驷=駟
驶=駛
驹=駒
骀=駘
驸=駙
驽=駑
骂=駡
蚂=螞
笃=篤
骇=駭
骈=駢
骁=驍
骄=驕
骆=駱
骋=騁
验=驗
骏=駿
骎=駸
骑=騎
骐=騏
骒=騍
骓=騅
骗=騙
骘=騭
骛=騖
骚=騷
骞=騫
骜=驁
蓦=驀
腾=騰
骝=騮
骟=騸
骠=驃
骢=驄
骡=騾
羁=覊
骤=驟
骥=驥
骧=驤
荬=蕒
读=讀
渎=瀆
续=續
椟=櫝
犊=犢
牍=牘
窦=竇
黩=黷
唛=嘜
麸=麩
闩=閂
闪=閃
们=們
闭=閉
问=問
扪=捫
闱=闈
闵=閔
闷=悶
闰=閏
闲=閑
间=間
闹=閙
闸=閘
钔=鍆
阂=閡
闺=閨
闻=聞
闽=閩
闾=閭
=
阁=閣
阀=閥
润=潤
涧=澗
悯=憫
阆=閬
阅=閱
阃=閫
=
娴=嫻
阏=閼
阈=閾
阉=閹
阊=閶
阍=閽
阌=閿
阋=鬩
阎=閻
焖=燜
阑=闌
裥=襇
阔=闊
痫=癇
鹇=鷳
阕=闋
阒=闃
搁=擱
锏=鐧
锎=鐦
阙=闕
阖=闔
阗=闐
榈=櫚
简=簡
谰=讕
阚=闞
蔺=藺
澜=瀾
斓=斕
=
镧=鑭
躏=躪
渑=澠
绳=繩
鼋=黿
蝇=蠅
鼍=鼉
傩=儺
滩=灘
摊=攤
瘫=癱
凫=鳬
鸠=鳩
岛=島
茑=蔦
鸢=鳶
鸣=鳴
枭=梟
鸩=鴆
鸦=鴉
=鳾
鸥=鷗
鸨=鴇
窎=窵
莺=鶯
鸪=鴣
捣=搗
鸭=鴨
鸯=鴦
鸮=鴞
鸲=鴝
鸰=鴒
鸳=鴛
鸵=鴕
袅=裊
鸱=鴟
鸶=鷥
鸾=鵉
=鵁
鸿=鴻
鸷=鷙
鸸=鴯
=鴷
鸼=鵃
鸽=鴿
鸹=鴰
鸺=鵂
鸻=鴴
鹈=鵜
鹁=鵓
鹃=鵑
鹆=鵒
鹄=鵠
鹅=鵝
鹑=鶉
鹒=鶊
=鶄
鹉=鵡
鹊=鵲
鹋=鶓
鹌=鵪
鹏=鵬
鹐=鵮
鹚=鷀
鹕=鶘
鹖=鶡
=鶪
鹗=鶚
鹘=鶻
鹙=鶖
鹜=鶩
鹛=鶥
鹤=鶴
鹣=鶼
鹞=鷂
鹡=鶺
=鷉
鹧=鷓
鹥=鷖
鹨=鷚
鹫=鹫
鹩=鷯
鹪=鷦
鹬=鷸
鹰=鷹
鹯=鸇
鹭=鷺
=鸊
鹳=鸛
慑=攝
慑=懾
滠=灄
嗫=囁
镊=鑷
颞=顳
蹑=躡
泞=濘
拧=擰
咛=嚀
狞=獰
柠=檸
聍=聹
侬=儂
浓=濃
哝=噥
脓=膿
剂=劑
侪=儕
济=濟
荠=薺
挤=擠
脐=臍
蛴=蠐
跻=躋
霁=霽
鲚=鱭
齑=齏
剀=剴
凯=凱
恺=愷
闿=闓
垲=塏
桤=榿
硙=磑
皑=皚
铠=鎧
忾=愾
饩=餼
跹=躚
剑=劍
俭=儉
险=險
捡=撿
猃=獫
检=檢
殓=殮
敛=斂
脸=臉
裣=襝
睑=瞼
签=簽
潋=瀲
蔹=蘞
侨=僑
挢=撟
荞=蕎
峤=嶠
娇=嬌
桥=橋
轿=轎
硚=礄
矫=矯
鞒=鞽
榇=櫬
=藭
讴=謳
伛=傴
沤=漚
怄=慪
抠=摳
奁=奩
呕=嘔
岖=嶇
妪=嫗
枢=樞
瓯=甌
欧=歐
殴=毆
眍=瞘
躯=軀
蔷=薔
墙=墻
嫱=嬙
樯=檣
穑=穡
铩=鎩
谉=讅
婶=嬸
柽=檉
蛏=蟶
浉=溮
狮=獅
蛳=螄
筛=篩
埘=塒
莳=蒔
鲥=鰣
俦=儔
涛=濤
祷=禱
焘=燾
畴=疇
铸=鑄
筹=籌
踌=躊
嘱=囑
瞩=矚
=
萧=蕭
啸=嘯
潇=瀟
箫=簫
蟏=蠨
刿=劌
哕=噦
秽=穢
荪=蓀
狲=猻
逊=遜
涤=滌
绦=縧
鲦=鰷
厉=厲
迈=邁
励=勵
疠=癘
虿=蠆
趸=躉
砺=礪
粝=糲
蛎=蠣
伪=僞
沩=溈
妫=媯
讳=諱
伟=偉
违=違
苇=葦
韧=韌
帏=幃
围=圍
纬=緯
炜=煒
祎=禕
玮=瑋
韨=韍
涠=潿
韩=韓
韫=韞
韪=韙
韬=韜
邬=鄔
坞=塢
呜=嗚
钨=鎢
怃=憮
庑=廡
抚=撫
芜=蕪
呒=嘸
妩=嫵
谳=讞
芗=薌
飨=饗
泻=瀉
浔=潯
荨=蕁
挦=撏
鲟=鱘
垩=堊
垭=埡
挜=掗
哑=啞
娅=婭
恶=惡
恶=噁
氩=氬
俨=儼
酽=釅
恹=懨
厣=厴
靥=靨
餍=饜
魇=魘
黡=黶
侥=僥
浇=澆
挠=撓
荛=蕘
峣=嶢
哓=嘵
娆=嬈
绕=繞
饶=饒
烧=焼
桡=橈
晓=曉
硗=磽
铙=鐃
翘=翹
蛲=蟯
跷=蹺
邺=鄴
顶=頂
顷=頃
项=項
顸=頇
顺=順
须=須
颃=頏
烦=煩
顽=頑
顿=頓
颀=頎
颁=頒
颂=頌
倾=傾
预=預
庼=廎
硕=碩
领=領
颈=頸
颇=頗
颏=頦
颉=頡
颍=潁
颌=頜
颋=頲
滪=澦
颐=頤
蓣=蕷
频=頻
颓=頹
颔=頷
颖=穎
颗=顆
额=額
颜=顏
撷=擷
题=題
颙=顒
颛=顓
缬=纈
濒=瀕
颠=顛
颡=顙
嚣=囂
颢=顥
颤=顫
巅=巔
颥=顬
癫=癲
灏=灝
颦=顰
颧=顴
议=議
仪=儀
蚁=蟻
呓=囈
荫=蔭
瘾=癮
莸=蕕
鱽=魛
渔=漁
鲂=魴
鱿=魷
鲁=魯
鲎=鱟
蓟=薊
鲆=鮃
鲏=鮍
鲅=鮁
鲊=鮓
=鮣
稣=穌
鲋=鮒
鲍=鮑
鲐=鮐
鲞=鯗
鲝=鮺
鲛=鮫
鲜=鮮
鲑=鮭
鲒=鮚
鲔=鮪
鲖=鮦
鲨=鯊
噜=嚕
鲠=鯁
鲫=鯽
鲩=鯇
鲣=鰹
鲤=鯉
鲧=鯀
橹=櫓
氇=氌
鲸=鯨
鲭=鯖
鲮=鯪
鲰=鯫
鲲=鯤
鲻=鯔
鲳=鯧
鲱=鯡
鲵=鯢
鲷=鯛
鲶=鯰
藓=蘚
=鰌
=鰆
鳊=鯿
鲽=鰈
鳁=鰛
鳃=鰓
鳄=鰐
镥=鑥
鳅=鰍
鳆=鰒
鳇=鰉
鳌=鰲
=
=鰧
鳒=鰜
鳍=鰭
鳎=鰨
鳏=鰥
鳑=鰟
癣=癬
鳖=鱉
鳙=鱅
鳛=鰼
鳕=鱈
鳔=鰾
鳓=鰳
鳘=鰵
鳗=鰻
鳝=鱔
鳟=鱒
鳞=鱗
鳜=鱖
鳣=鱣
鳢=鱧
屿=嶼
欤=歟
芸=蕓
昙=曇
叇=靆
掷=擲
踯=躑
垫=墊
挚=摯
蛰=蟄
絷=縶
锧=鑕
踬=躓
传=傳
抟=摶
=膞
砖=磚
计=計
订=訂
讣=訃
讨=討
讧=訌
讦=訐
记=記
讯=訊
讪=訕
训=訓
讫=訖
访=訪
讶=訝
讵=詎
诀=訣
讷=訥
设=設
讹=訛
=訢
许=許
讼=訟
讻=訩
诂=詁
诃=訶
评=評
诏=詔
词=詞
译=譯
诎=詘
诇=詗
诅=詛
识=識
诋=詆
诉=訴
诈=詐
诊=診
诒=詒
该=該
详=詳
诧=詫
诓=誆
诖=詿
诘=詰
诙=詼
试=試
诗=詩
诩=詡
诤=諍
诠=詮
诛=誅
诔=誄
诟=詬
诣=詣
话=話
诡=詭
询=詢
诚=誠
诞=誕
浒=滸
诮=誚
说=說
诫=誡
诬=誣
语=語
诵=誦
罚=罸
误=誤
诰=誥
诳=誑
诱=誘
诲=誨
诶=誒
狱=獄
谊=誼
谅=諒
谈=談
谆=諄
谇=誶
请=請
诺=諾
诸=諸
诼=諑
诹=諏
课=課
诽=誹
诿=諉
谁=誰
谀=諛
调=調
谄=諂
谂=諗
谛=諦
谙=諳
谜=謎
谚=諺
谝=諞
谘=諮
谌=諶
谎=謊
谋=謀
谍=諜
谐=諧
谏=諫
谞=諝
谑=謔
谒=謁
谔=諤
谓=謂
谖=諼
谕=諭
谥=謚
谤=謗
谦=謙
谧=謐
谟=謨
谡=謖
谢=謝
谣=謡
储=儲
谪=謫
谫=譾
谨=謹
谬=謬
谩=謾
谱=譜
谮=譖
谭=譚
谲=譎
谯=譙
蔼=藹
槠=櫧
谴=譴
谵=譫
辩=辯
=讌
雠=讎
谶=讖
霭=靄
饦=飥
饧=餳
饨=飩
饭=飯
饮=飲
饫=飫
饪=飪
饬=飭
饲=飼
饰=飾
饱=飽
饴=飴
饳=飿
饸=餄
饷=餉
饺=餃
饻=餏
饼=餅
饵=餌
蚀=蝕
饹=餎
饽=餑
馁=餒
饿=餓
馆=館
馄=餛
馃=餜
馅=餡
馉=餶
馇=餷
馊=餿
馐=饈
馍=饃
馎=餺
馏=餾
馑=饉
馒=饅
馓=饊
馔=饌
馕=饟
汤=湯
扬=揚
场=場
旸=暘
炀=煬
杨=楊
肠=腸
疡=瘍
砀=碭
畅=暢
殇=殤
荡=蕩
烫=燙
觞=觴
丝=絲
纠=糾
纡=紆
纣=紂
红=紅
纪=紀
纫=紉
纥=紇
约=约
纨=紈
级=級
纺=紡
纹=紋
纭=紜
纯=純
纰=紕
纽=紐
纳=納
纱=紗
纴=紝
纷=紛
纸=紙
纾=紓
纼=紖
咝=噝
绊=絆
绀=紺
绁=紲
绂=紱
绋=紼
绎=繹
经=經
绍=紹
组=組
细=細
=紬
绅=紳
织=織
绌=絀
终=終
绐=紿
哟=喲
绖=絰
荮=葤
荭=葒
绞=絞
统=統
绒=絨
绔=絝
结=結
绗=絎
给=給
绝=絕
绛=絳
络=絡
绚=絢
绑=綁
莼=蒓
绠=綆
绨=綈
绡=綃
绢=絹
绣=綉
绥=綏
综=綜
绽=綻
绾=綰
绻=綣
绫=綾
绪=緒
绮=綺
缀=綴
绿=綠
绰=綽
绲=緄
绯=緋
绶=綬
绸=綢
绷=綳
绺=綹
维=維
绵=綿
缁=緇
缔=締
编=編
缃=緗
缂=緙
缅=緬
缘=緣
缉=緝
缇=緹
缈=緲
缗=緡
缊=縕
缌=緦
缓=緩
缄=緘
缑=緱
缒=縋
缎=緞
缞=縗
缟=縞
缣=縑
缢=縊
缚=縛
缙=縉
缛=縟
缜=縝
缝=縫
缡=縭
潍=濰
缩=縮
缥=縹
缪=繆
缦=縵
缫=繅
缧=縲
蕴=蘊
缮=繕
缯=繒
缭=繚
橼=櫞
缰=繮
缳=繯
缲=繰
缱=繾
缴=繳
辫=辮
坚=堅
肾=腎
竖=竪
悭=慳
紧=緊
铿=鏗
劳=勞
茕=煢
茔=塋
荧=熒
荦=犖
荣=榮
荥=滎
涝=澇
崂=嶗
莹=瑩
捞=撈
唠=嘮
萤=螢
营=營
萦=縈
痨=癆
嵘=嶸
铹=鐒
耢=耮
蝾=蠑
览=覧
鉴=鑒
帜=幟
炽=熾
职=職
钆=釓
钇=釔
钌=釕
钋=釙
钉=釘
针=針
钊=釗
钗=釵
钎=釺
钓=釣
钏=釧
钍=釷
钐=釤
钒=釩
钖=鍚
钕=釹
钬=鈥
钫=鈁
钚=鈈
=釾
钪=鈧
钯=鈀
钭=鈄
钙=鈣
钝=鈍
钛=鈦
钘=鈃
钮=鈕
钞=鈔
钠=鈉
钤=鈐
钧=鈞
钩=鈎
钦=欽
铋=鉍
钰=鈺
钲=鉦
钳=鉗
钴=鈷
钺=鉞
钵=鉢
钹=鈸
钼=鉬
钾=鉀
铀=鈾
钿=鈿
铎=鐸
铃=鈴
铅=鉛
铂=鉑
铆=鉚
铍=鈹
钶=鈳
铊=鉈
钽=鉭
铌=鈮
钷=鉕
铈=鈰
铉=鉉
铒=鉺
铑=銠
铕=銪
铟=銦
铷=銣
铯=銫
铥=銩
铪=鉿
铞=銱
铫=銚
铵=銨
衔=銜
铰=鉸
铳=銃
铱=銥
铓=鋩
铐=銬
铏=鉶
银=銀
铜=銅
铝=鋁
铨=銓
铢=銖
铣=銑
铤=鋌
铭=銘
铬=鉻
铮=錚
揿=撳
锌=鋅
锐=銳
锑=銻
锒=鋃
铺=鋪
嵚=嶔
锓=鋟
锃=鋥
销=銷
锄=鋤
锅=鍋
锉=銼
锈=銹
锋=鋒
锆=鋯
锔=鋦
锕=錒
铽=鋱
锇=鋨
锂=鋰
锘=鍩
锞=錁
锭=錠
锗=鍺
锝=鍀
锫=錇
错=錯
锚=錨
锛=錛
锯=鋸
锰=錳
锢=錮
锟=錕
锡=錫
锣=鑼
锤=錘
锥=錐
锦=錦
锨=鍁
锱=錙
键=鍵
镀=鍍
镃=鎡
镁=鎂
锲=鍥
锷=鍔
锶=鍶
锴=鍇
锾=鍰
锹=鍬
锿=鎄
镅=鎇
锻=鍛
锸=鍤
锼=鎪
镎=鎿
镓=鎵
镒=鎰
=
镑=鎊
镐=鎬
镉=鎘
镇=鎮
镍=鎳
镌=鎸
镏=鎦
镜=鏡
镝=鏑
镛=鏞
镞=鏃
镖=鏢
镚=鏰
镗=鏜
=鐯
镘=鏝
镦=鐓
=鐥
镨=鐠
镤=鏷
镢=鐝
镣=鐐
镫=鐙
镪=鏹
镰=鐮
镱=鐿
镭=鐳
镬=鑊
镮=鐶
镯=鐲
镲=鑔
镳=鑣
镴=鑞
镶=鑲
=钁
峃=嶨
学=學
喾=嚳
黉=黌
泽=澤
怿=懌
择=擇
峄=嶧
萚=蘀
释=釋
箨=籜
劲=勁
刭=剄
陉=陘
泾=涇
茎=莖
径=徑
烃=烴
氢=氫
胫=脛
痉=痙
羟=羥
巯=巰
变=變
弯=彎
孪=孿
峦=巒
娈=孌
恋=戀
栾=欒
挛=攣
鸾=鸞
湾=灣
蛮=蠻
脔=臠
滦=灤
銮=鑾
剐=剮
涡=渦
埚=堝
=喎
莴=萵
娲=媧
祸=禍
脶=腡
窝=窩
蜗=蝸
呆=獃
呆=騃
呆=呆
布=佈
布=布
痴=痴
痴=癡
雇=僱
雇=雇
挂=挂
挂=掛
哄=閧
哄=鬨
哄=哄
迹=跡
迹=蹟
杰=傑
杰=杰
巨=鉅
巨=巨
昆=崑
昆=昆
捆=綑
捆=捆
泪=淚
厘=釐
厘=厘
脉=脈
猫=貓
栖=棲
栖=栖
弃=棄
升=昇
笋=筍
它=牠
它=它
席=蓆
席=席
凶=兇
凶=凶
绣=繡
锈=鏽
岩=巖
岩=岩
异=異
涌=湧
岳=嶽
岳=岳
韵=韻
札=剳
札=劄
札=札
扎=扎
扎=紥
扎=紮
占=佔
占=占
周=週
周=周
注=註
注=注"""

parsedata()

if __name__ == '__main__':
    import sys
    def findargv(s):
        for v in sys.argv:
            if v.find(s) != -1: return True
        return False

    if findargv('simp2trad'):
        f = simp2trad
    elif findargv('trad2simp'):
        f = trad2simp
    else:
        sys.stderr.write("Usage: %s trad2simp - For traditional to simplified conversion.\n" % sys.argv[0])
        sys.stderr.write("Usage: %s simp2trad - For simplified to traditional conversion.\n" % sys.argv[0])
        sys.stderr.write("You may also rename the script to \"trad2simp.py\" or \"simp2trad.py\" for the desired effect.\n")
        exit()

    while True:
        l = sys.stdin.readline()
        if l == '': break
        l = l.decode('utf-8')
        sys.stdout.write(f( l ).encode('utf-8'))
